package com.qiaoba.module.system.service;

import com.qiaoba.module.system.entity.SysPost;
import com.qiaoba.module.system.entity.dto.SysPostDTO;
import com.qiaoba.module.system.entity.param.SysPostParam;

import java.util.List;

/**
 * 岗位 服务层
 *
 * @author ailanyin
 * @date 2023-09-10 08:52:50
 */
public interface SysPostService {

    /**
     * 新增岗位
     *
     * @param dto 岗位
     * @return 结果
     */
    int insert(SysPostDTO dto);

    /**
     * 修改岗位
     *
     * @param dto 岗位
     * @return 结果
     */
    int updateById(SysPostDTO dto);

    /**
     * 删除岗位
     *
     * @param postId 岗位ID
     * @return 结果
     */
    int deleteById(String postId);

    /**
     * 批量删除岗位
     *
     * @param postIds 岗位IDS
     * @return 结果
     */
    int deleteByIds(List<String> postIds);

    /**
     * 查询岗位
     *
     * @param postId    岗位ID
     * @param allowNull 是否允许空
     * @return 岗位
     */
    SysPost selectById(String postId, boolean allowNull);

    /**
     * 查询列表
     *
     * @param param 条件
     * @return 岗位列表
     */
    List<SysPost> selectList(SysPostParam param);

}
